﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace DDNS.Model.DTO
{
    /// <summary>
    /// 动态解析域名入参
    /// </summary>
    public class DomainRecordDTO : DomainBaseDTO
    {
        /// <summary>
        /// 必填 - (domain_id/domain)分别对应域名ID和域名, 提交其中一个即可。
        /// </summary>
        public int domain_id { get; set; }
        /// <summary>
        /// 必填 - 记录ID。
        /// </summary>
        public int record_id { get; set; }
        /// <summary>
        /// 非必填 - 主机记录, 如 www，如果不传，默认为 @。
        /// </summary>
        public string? sub_domain { get; set; }
        /// <summary>
        /// 必填 - 记录类型，通过API记录类型获得，大写英文，比如：A。
        /// </summary>
        public string record_type { get; set; }
        /// <summary>
        /// 必填 - 记录线路，通过API记录线路获得，中文，比如：默认。
        /// </summary>
        public string record_line { get; set; }
        /// <summary>
        /// 非必填 - 线路的ID，通过API记录线路获得，英文字符串，比如：‘10=1’。record_line 和 record_line_id 二者传其一即可，系统优先取 record_line_id。
        /// </summary>
        public string? record_line_id { get; set; }
        /// <summary>
        /// 必填 - 记录值, 如 IP:200.200.200.200, CNAME: cname.dnspod.com., MX: mail.dnspod.com. 。
        /// </summary>
        public string value { get; set; }
        /// <summary>
        /// 必填 - MX优先级, 当记录类型是 MX 时有效，范围1-20。
        /// </summary>
        public int mx { get; set; }
        /// <summary>
        /// 非必填 - TTL，范围1-604800，不同等级域名最小值不同。
        /// </summary>
        public int ttl { get; set; }
        /// <summary>
        /// 非必填 - 记录状态，默认为”enable”，如果传入”disable”，解析不会生效，也不会验证负载均衡的限制。
        /// </summary>
        public string? status { get; set; }
        /// <summary>
        /// 非必填 - 权重信息，0到100的整数。仅企业 VIP 域名可用，0 表示关闭，留空或者不传该参数，表示不设置权重信息。
        /// </summary>
        public int? weight { get; set; }
    }
}
